package material.adapterAndFacade.duck;

/**
 * 首先，我们需要实现想转换成的类型接口，也就是你的客户所期望看到的接口。
 */
public class TurkeyAdapter implements Duck {
    Turkey turkey;

    //接着，需要取得适配的对象引用，这里我们利用构造器取得这个引用。
    public TurkeyAdapter(Turkey turkey) {
        this.turkey = turkey;
    }

    @Override
    public void quack() {
        turkey.gobble();
    }

    /**
     * 显然两个接口都具备了fly()方法，火鸡的飞行距离很短，
     * 不像鸭子可以长途飞行。主要让鸭子的飞行和火鸡的飞行能够对应．必须连续五次调用火鸡的fly()来完成。
     */
    @Override
    public void fly() {
        for (int i = 0; i < 5; i++) {
            turkey.fly();
        }

    }
}
